package com.reglas.gladiadores;

import java.util.ArrayList;
import java.util.ArrayList;
import java.util.Iterator;

import JavaCode.Ciudad;
import JavaCode.Gladiador;
import JavaCode.Ludus;


//Clase que eligira que Accion es la mejor para la CPU
public class EleccionCriterio {

	private int maximaPrioridad;
	private ArrayList<Acciones> accionesEjecutar;
	
	
	public EleccionCriterio(){
		accionesEjecutar= new ArrayList<Acciones>();
		
	}


	public void eleccionCriterio(ArrayList<Acciones> listaAcciones,Ludus ludus){
		//Guardamos las acciones con mayor prioridad
		Acciones accion=null;
		Iterator<Acciones> it = listaAcciones.iterator();
		while (it.hasNext()){
			accion = it.next();
			String[] habilidad=accion.getDescripcionAccion().split("-");
			//Condicion de eleccion de las acciones a ejecutar, prioridad Alta
				if (habilidad.length!=1){
						
					if(habilidad[1].equalsIgnoreCase("Prioridad Alta"))
						accionesEjecutar.add(accion);
						}
				}
		ejecutarReglas(ludus);
	}
	
	
	public void ejecutarReglas(Ludus ludus){
		Acciones accion;
		//int dineroDisponible= ludus.getMoney();
		Iterator<Acciones> it = accionesEjecutar.iterator();
		while (it.hasNext()){
			accion = it.next();
			String[] habilidad=accion.getDescripcionAccion().split("-");
			
			if (habilidad[0].equalsIgnoreCase("Entrenador")){
				/*int nivelEntrenador = ludus.getEntrenador();
				dineroDisponible = dineroDisponible - ludus.calculaPrecioMejora(nivelEntrenador+1);
				if (dineroDisponible>=0){
				ludus.setEntrenador(ludus.getEntrenador()+1);
				ludus.setMoney(dineroDisponible);
				}*/
				ludus.mejorarEntrenador();
			}	
			else if (habilidad[0].equalsIgnoreCase("Fuerza")){
				/*int nivelFuerza= ludus.getNivelStr();
				dineroDisponible = dineroDisponible - ludus.calculaPrecioMejora(nivelFuerza+1);
				if (dineroDisponible>=0){
				ludus.setNivelStr(ludus.getNivelStr()+1);
				ludus.setMoney(dineroDisponible);
				}*/
				ludus.mejorarStr();
			} 	
			else if (habilidad[0].equalsIgnoreCase("Agilidad")){
				/*int nivelAgilidad= ludus.getNivelAgi();
				dineroDisponible = dineroDisponible - ludus.calculaPrecioMejora(nivelAgilidad+1);
				if (dineroDisponible>=0){
				ludus.setNivelAgi(ludus.getNivelAgi()+1);
				ludus.setMoney(dineroDisponible);
				}*/
				ludus.mejorarAgi();
			}
			else if (habilidad[0].equalsIgnoreCase("Destreza")){
//				int nivelDestreza= ludus.getNivelDex();
//				dineroDisponible = dineroDisponible - ludus.calculaPrecioMejora(nivelDestreza+1);
//				if (dineroDisponible>=0){
//					ludus.setNivelAgi(ludus.getNivelDex()+1);
//					ludus.setMoney(dineroDisponible);
//					}
				ludus.mejorarDex();
			}
			else if (habilidad[0].equalsIgnoreCase("Resistencia")){
//				int nivelResistencia= ludus.getNivelRes();
//				dineroDisponible = dineroDisponible - ludus.calculaPrecioMejora(nivelResistencia+1);
//				if (dineroDisponible>=0){
//				ludus.setNivelRes(ludus.getNivelRes()+1);
//				ludus.setMoney(dineroDisponible);
//				}
				ludus.mejorarRes();
			}
		}

		
	}
	
	
}
